package cn.dujc.superkid.api;

import java.util.List;

import cn.dujc.superkid.bean.CupExaminePageResult;
import cn.dujc.superkid.bean.CupExamineResult;
import cn.dujc.superkid.bean.CupIndexResult;
import cn.dujc.superkid.bean.CupIndexResults;
import cn.dujc.superkid.bean.CupListResult;
import cn.dujc.superkid.bean.ExamineResultsResult;
import cn.dujc.superkid.bean.MessageEntity;
import cn.dujc.superkid.bean.VideoIndexResults;
import retrofit2.Call;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.QueryMap;

/**
 * 7、杯赛
 * @author du
 * date 2018/8/4 下午2:19
 */
public interface ApiCupMatch {

    /**
     * 杯赛列表
     * time	是	string	时间戳
     * token	是	string	token
     * channel	是	int	频道id
     */
    @GET("cup/index")
    public Call<CupIndexResults> cupIndex(@QueryMap QMap map);

    /**
     * 单个杯赛首页
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * cup_id	是	int	杯赛id
     * logincode	是	string	登陆验证代码
     * video_id	否	int	课程视频id
     */
    @GET("cup/list")
    public Call<Result<CupListResult>> cupList(@QueryMap QMap map);

    /**
     * 杯赛考试首页
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * examine_id	是	int	杯赛试卷id
     * logincode	是	string	登陆验证代码
     */
    @GET("cup/examine")
    public Call<Result<CupExamineResult>> cupExamine(@QueryMap QMap map);

    /**
     * 杯赛考试详情页
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * examine_id	是	int	杯赛试卷id
     * logincode	是	string	登陆验证代码
     */
    @GET("cup/examine_page")
    public Call<Result<CupExaminePageResult>> cupExaminePage(@QueryMap QMap map);

    /**
     * 杯赛考试处理答案
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * examine_id	是	int	杯赛试卷id
     * answer	是	string	答案 (格式如：{"answer1":1,"answer2":[1,2,3]} answer+顺序:答案,多选题答案用[]）
     * when	是	string	用时（00:50:10） ,数据未做验证
     * logincode	是	string	登陆验证代码
     * <b>测试的时候请在本地调用之前，查看题目的数量和答案提交数量是否匹配（有2个题目就需要有2个答案）</b>
     */
    @FormUrlEncoded
    @POST("cup/examine_results")
    public Call<Result<ExamineResultsResult>> cupExamineResults(@FieldMap QMap map);

    /**
     * 杯赛试卷查看解析
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * examine_id	是	int	试卷题目id
     * logincode	是	string	登陆验证代码
     *
     * @return 带html的结果
     */
    @GET("cup/analysis")
    public Call<Result<String>> cupAnalysis(@QueryMap QMap map);

    /**
     * 杯赛留言
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * cup_video_id	是	int	杯赛视频id
     * content	是	string	留言内容
     * logincode	是	string	登陆验证代码
     */
    @FormUrlEncoded
    @POST("cup/message")
    public Call<Result<Object>> cupMessagePost(@FieldMap QMap map);

    /**
     * 单个杯赛视频留言列表
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * cup_id	是	int	课程id
     * logincode	是	string	登陆验证代码
     * video_id	否	int	课程视频id
     */
    @GET("cup/message")
    public Call<Result<List<MessageEntity>>> cupMessage(@QueryMap QMap map);

//    /**
//     * XXX
//     */
//    @GET("xxx_xxx")
//    public Call<Result<XxxXxx>> xxxXXX(@QueryMap QMap map);

//    /**
//     * XXX
//     */
//    @FormUrlEncoded
//    @POST("xxx_xxx")
//    public Call<Result<XxxXxx>> xxxXXX(@FieldMap QMap map);

}
